Skip to content

add RFC for property labels #75

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

rroohhh
Copy link

@rroohhh rroohhh commented Jan 31, 2025

@whitequark whitequark added meta:nominated Nominated for discussion on the next relevant meeting area:core RFC affecting APIs in amaranth-lang/amaranth labels Jan 31, 2025
@whitequark
Copy link
Member

If the goal is to produce human friendly error messages, why are these tools not using the message field? I would say we should probably not add back name but figure out why is message not used.

@wanda-phi
Copy link
Member

If the goal is to produce human friendly error messages, why are these tools not using the message field? I would say we should probably not add back name but figure out why is message not used.

SystemVerilog assertions do not have messages in the first place; relying on messages thus limits us to yosys-based tooling

on the other hand, the example given in the RFC could definitely be fixed on sby side

@whitequark
Copy link
Member

whitequark commented May 12, 2025

SystemVerilog assertions do not have messages in the first place; relying on messages thus limits us to yosys-based tooling

From my memory of talking to Jannis, they sort of do, in that assert x else $error is treated specially, or something along those lines. This is also how the Yosys $check cell is implemented, and both parsing and emitting should respect that.

@rroohhh
Copy link
Author

rroohhh commented May 12, 2025

I care more about Jasper than sby at the moment to be honest.
Jasper names the properties at elaboration time and $error can include formatting, so I guess that is why its not used?

@whitequark
Copy link
Member

@jix, would you happen to have advice here? I've never used Jasper.

@wanda-phi
Copy link
Member

We have discussed this RFC on the 2025-05-26 core subsystem meeting. The disposition was to postpone.

The motivation in the RFC (sby needs it to print a good message) was deemed insufficient, as we already have messages attached to properties. Likewise for the secondary motivation of using Jasper — if a workaround is needed, we can just generate labels from messages in some part of the stack.

More importantly, Amaranth currently doesn't have well-defined formal semantics — there is no formal verification mode in Amaranth at all, and all formal-specific language features are essentially RTLIL legacy with no clear definition other than "what yosys and sby do". Any kind of RFC proposing features with FV justification thus has to be blocked by necessity until a formal model is proposed.

@whitequark whitequark closed this May 26, 2025
@whitequark whitequark removed the meta:nominated Nominated for discussion on the next relevant meeting label May 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:core RFC affecting APIs in amaranth-lang/amaranth
Development

Successfully merging this pull request may close these issues.

3 participants